package ar.frba.utn.diseñosistemas.TP2;

import java.util.ArrayList;

public class FiltrarPorUbicacion implements IBuscador {

	private IBuscador decorado;
	
	public FiltrarPorUbicacion(IBuscador decorado)
	{
		this.decorado = decorado;
	}
	
	public ArrayList<Itinerario> Buscar(Busqueda unaBusqueda) {

		ArrayList<Itinerario> filtrados = new ArrayList<Itinerario>();
		ArrayList<Itinerario> itinerarios = decorado.Buscar(unaBusqueda);
		
		Ubicacion filtro = unaBusqueda.getUbicacion();
		
		if (filtro == null)
			return itinerarios;
		
		for (Itinerario itinerario : itinerarios)
		{
			Boolean agregarItinerario = true;
			
			for (Asiento asiento : itinerario.getAsientos()) 
			{
				if(asiento.getUbicacion() != unaBusqueda.getUbicacion())
				{
					agregarItinerario = false;
					break;
				}
			}
			
			if (agregarItinerario)
				filtrados.add(itinerario);
		}
			
		return filtrados;
	}

}
